﻿namespace WMS6.Web
{
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Data;
    using System.Web.UI.WebControls;

    public class DDLQueryDataSource : BasePage
    {
        public List<ListItem> DateTimeSign4DDL()
        {
            List<ListItem> listItems = null;
            if ((base.UserInfo == null) || (this.Session["UserInfo"] == null))
            {
                return listItems;
            }
            switch (base.UserInfo.Preference.Lang.ToUpper())
            {
                case "ZH-CN":
                    return this.GetDateTimeOper_CN();

                case "EN-*":
                    return this.GetDateTimeOper_EN();

                case "ZH-TW":
                    return this.GetDateTimeOper_TW();
            }
            return this.GetDateTimeOper_EN();
        }

        public DataTable DateTimeSign4DDLByDT()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("Text", typeof(string));
            dt.Columns.Add("Value", typeof(string));
            if ((base.UserInfo == null) || (this.Session["UserInfo"] == null))
            {
                return dt;
            }
            switch (base.UserInfo.Preference.Lang.ToUpper())
            {
                case "ZH-CN":
                    return this.GetDateTimeOper_CN(dt);

                case "EN-*":
                    return this.GetDateTimeOper_EN(dt);

                case "ZH-TW":
                    return this.GetDateTimeOper_TW(dt);
            }
            return this.GetDateTimeOper_EN(dt);
        }

        public List<ListItem> EqualDLL()
        {
            ArrayList myArray = new ArrayList();
            myArray.Add("=");
            myArray.Add("<");
            myArray.Add(">");
            myArray.Add("<=");
            myArray.Add(">=");
            myArray.Add("<>");
            List<ListItem> myListItem = new List<ListItem>();
            ListItem item = null;
            for (int i = 0; i < myArray.Count; i++)
            {
                item = new ListItem {
                    Text = myArray[i].ToString(),
                    Value = myArray[i].ToString()
                };
                myListItem.Add(item);
            }
            return myListItem;
        }

        public DataTable EqualDLLByDT()
        {
            ArrayList myArray = new ArrayList();
            myArray.Add("=");
            myArray.Add("<");
            myArray.Add(">");
            myArray.Add("<=");
            myArray.Add(">=");
            myArray.Add("<>");
            DataTable dt = new DataTable();
            dt.Columns.Add("Text", typeof(string));
            dt.Columns.Add("Value", typeof(string));
            for (int i = 0; i < 6; i++)
            {
                DataRow dr = dt.NewRow();
                dr[0] = myArray[i].ToString();
                dr[1] = myArray[i].ToString();
                dt.Rows.Add(dr);
            }
            return dt;
        }

        public ArrayList EqualSign4DDL()
        {
            ArrayList myArray = new ArrayList();
            myArray.Add("lt");
            myArray.Add("gt");
            myArray.Add("KIP");
            myArray.Add("lteq");
            myArray.Add("gteq");
            myArray.Add("ne");
            return myArray;
        }

        private List<ListItem> GetDateTimeOper_CN()
        {
            ArrayList myArray = new ArrayList();
            myArray.Add("Same As");
            myArray.Add("Before");
            myArray.Add("After");
            myArray.Add("Between");
            myArray.Add("Is Null");
            myArray.Add("Not Null");
            ArrayList myArray_CN = new ArrayList();
            myArray_CN.Add("相同");
            myArray_CN.Add("之前");
            myArray_CN.Add("之后");
            myArray_CN.Add("之间");
            myArray_CN.Add("为空");
            myArray_CN.Add("不空");
            List<ListItem> myListItem = new List<ListItem>();
            ListItem item = null;
            for (int i = 0; i < myArray.Count; i++)
            {
                item = new ListItem {
                    Text = myArray_CN[i].ToString(),
                    Value = myArray[i].ToString()
                };
                myListItem.Add(item);
            }
            return myListItem;
        }

        private DataTable GetDateTimeOper_CN(DataTable dt)
        {
            ArrayList myArray = new ArrayList();
            myArray.Add("Same As");
            myArray.Add("Before");
            myArray.Add("After");
            myArray.Add("Between");
            myArray.Add("Is Null");
            myArray.Add("Not Null");
            ArrayList myArray_CN = new ArrayList();
            myArray_CN.Add("相同");
            myArray_CN.Add("之前");
            myArray_CN.Add("之后");
            myArray_CN.Add("之间");
            myArray_CN.Add("为空");
            myArray_CN.Add("不空");
            for (int i = 0; i < myArray.Count; i++)
            {
                DataRow dr = dt.NewRow();
                dr[0] = myArray_CN[i].ToString();
                dr[1] = myArray[i].ToString();
                dt.Rows.Add(dr);
            }
            return dt;
        }

        private List<ListItem> GetDateTimeOper_EN()
        {
            ArrayList myArray = new ArrayList();
            myArray.Add("Same As");
            myArray.Add("Before");
            myArray.Add("After");
            myArray.Add("Between");
            myArray.Add("Is Null");
            myArray.Add("Not Null");
            List<ListItem> myListItem = new List<ListItem>();
            ListItem item = null;
            for (int i = 0; i < myArray.Count; i++)
            {
                item = new ListItem {
                    Text = myArray[i].ToString(),
                    Value = myArray[i].ToString()
                };
                myListItem.Add(item);
            }
            return myListItem;
        }

        private DataTable GetDateTimeOper_EN(DataTable dt)
        {
            ArrayList myArray = new ArrayList();
            myArray.Add("Same As");
            myArray.Add("Before");
            myArray.Add("After");
            myArray.Add("Between");
            myArray.Add("Is Null");
            myArray.Add("Not Null");
            for (int i = 0; i < myArray.Count; i++)
            {
                DataRow dr = dt.NewRow();
                dr[0] = myArray[i].ToString();
                dr[1] = myArray[i].ToString();
                dt.Rows.Add(dr);
            }
            return dt;
        }

        private List<ListItem> GetDateTimeOper_TW()
        {
            ArrayList myArray = new ArrayList();
            myArray.Add("Same As");
            myArray.Add("Before");
            myArray.Add("After");
            myArray.Add("Between");
            myArray.Add("Is Null");
            myArray.Add("Not Null");
            ArrayList myArray_CN = new ArrayList();
            myArray_CN.Add("相同");
            myArray_CN.Add("之前");
            myArray_CN.Add("之後");
            myArray_CN.Add("之間");
            myArray_CN.Add("為空");
            myArray_CN.Add("不空");
            List<ListItem> myListItem = new List<ListItem>();
            ListItem item = null;
            for (int i = 0; i < myArray.Count; i++)
            {
                item = new ListItem {
                    Text = myArray_CN[i].ToString(),
                    Value = myArray[i].ToString()
                };
                myListItem.Add(item);
            }
            return myListItem;
        }

        private DataTable GetDateTimeOper_TW(DataTable dt)
        {
            ArrayList myArray = new ArrayList();
            myArray.Add("Same As");
            myArray.Add("Before");
            myArray.Add("After");
            myArray.Add("Between");
            myArray.Add("Is Null");
            myArray.Add("Not Null");
            ArrayList myArray_CN = new ArrayList();
            myArray_CN.Add("相同");
            myArray_CN.Add("之前");
            myArray_CN.Add("之後");
            myArray_CN.Add("之間");
            myArray_CN.Add("為空");
            myArray_CN.Add("不空");
            for (int i = 0; i < myArray.Count; i++)
            {
                DataRow dr = dt.NewRow();
                dr[0] = myArray_CN[i].ToString();
                dr[1] = myArray[i].ToString();
                dt.Rows.Add(dr);
            }
            return dt;
        }

        public static DDLQueryDataSource GetInstance()
        {
            return new DDLQueryDataSource();
        }

        private List<ListItem> GetStringOper_CN()
        {
            ArrayList myArray = new ArrayList();
            myArray.Add("Contains");
            myArray.Add("Not Contains");
            myArray.Add("Begins With");
            myArray.Add("Ends With");
            myArray.Add("Same As");
            myArray.Add("Not Same As");
            myArray.Add("One Of");
            myArray.Add("Not One Of");
            ArrayList myArray_CN = new ArrayList();
            myArray_CN.Add("包含");
            myArray_CN.Add("不包含");
            myArray_CN.Add("开始");
            myArray_CN.Add("结束");
            myArray_CN.Add("相同");
            myArray_CN.Add("不同");
            myArray_CN.Add("其中之一");
            myArray_CN.Add("非其中之一");
            List<ListItem> myListItem = new List<ListItem>();
            ListItem item = null;
            for (int i = 0; i < myArray.Count; i++)
            {
                item = new ListItem {
                    Text = myArray_CN[i].ToString(),
                    Value = myArray[i].ToString()
                };
                myListItem.Add(item);
            }
            return myListItem;
        }

        private DataTable GetStringOper_CN(DataTable dt)
        {
            ArrayList myArray = new ArrayList();
            myArray.Add("Contains");
            myArray.Add("Not Contains");
            myArray.Add("Begins With");
            myArray.Add("Ends With");
            myArray.Add("Same As");
            myArray.Add("Not Same As");
            myArray.Add("One Of");
            myArray.Add("Not One Of");
            ArrayList myArray_CN = new ArrayList();
            myArray_CN.Add("包含");
            myArray_CN.Add("不包含");
            myArray_CN.Add("开始");
            myArray_CN.Add("结束");
            myArray_CN.Add("相同");
            myArray_CN.Add("不同");
            myArray_CN.Add("其中之一");
            myArray_CN.Add("非其中之一");
            for (int i = 0; i < myArray.Count; i++)
            {
                DataRow dr = dt.NewRow();
                dr[0] = myArray_CN[i].ToString();
                dr[1] = myArray[i].ToString();
                dt.Rows.Add(dr);
            }
            return dt;
        }

        private List<ListItem> GetStringOper_EN()
        {
            ArrayList myArray = new ArrayList();
            myArray.Add("Contains");
            myArray.Add("Not Contains");
            myArray.Add("Begins With");
            myArray.Add("Ends With");
            myArray.Add("Same As");
            myArray.Add("Not Same As");
            myArray.Add("One Of");
            myArray.Add("Not One Of");
            List<ListItem> myListItem = new List<ListItem>();
            ListItem item = null;
            for (int i = 0; i < myArray.Count; i++)
            {
                item = new ListItem {
                    Text = myArray[i].ToString(),
                    Value = myArray[i].ToString()
                };
                myListItem.Add(item);
            }
            return myListItem;
        }

        private DataTable GetStringOper_EN(DataTable dt)
        {
            ArrayList myArray = new ArrayList();
            myArray.Add("Contains");
            myArray.Add("Not Contains");
            myArray.Add("Begins With");
            myArray.Add("Ends With");
            myArray.Add("Same As");
            myArray.Add("Not Same As");
            myArray.Add("One Of");
            myArray.Add("Not One Of");
            for (int i = 0; i < myArray.Count; i++)
            {
                DataRow dr = dt.NewRow();
                dr[0] = myArray[i].ToString();
                dr[1] = myArray[i].ToString();
                dt.Rows.Add(dr);
            }
            return dt;
        }

        private List<ListItem> GetStringOper_TW()
        {
            ArrayList myArray = new ArrayList();
            myArray.Add("Contains");
            myArray.Add("Not Contains");
            myArray.Add("Begins With");
            myArray.Add("Ends With");
            myArray.Add("Same As");
            myArray.Add("Not Same As");
            myArray.Add("One Of");
            myArray.Add("Not One Of");
            ArrayList myArray_TW = new ArrayList();
            myArray_TW.Add("包含");
            myArray_TW.Add("不包含");
            myArray_TW.Add("開始");
            myArray_TW.Add("結束");
            myArray_TW.Add("相同");
            myArray_TW.Add("不同");
            myArray_TW.Add("其中之一");
            myArray_TW.Add("非其中之一");
            List<ListItem> myListItem = new List<ListItem>();
            ListItem item = null;
            for (int i = 0; i < myArray.Count; i++)
            {
                item = new ListItem {
                    Text = myArray_TW[i].ToString(),
                    Value = myArray[i].ToString()
                };
                myListItem.Add(item);
            }
            return myListItem;
        }

        private DataTable GetStringOper_TW(DataTable dt)
        {
            ArrayList myArray = new ArrayList();
            myArray.Add("Contains");
            myArray.Add("Not Contains");
            myArray.Add("Begins With");
            myArray.Add("Ends With");
            myArray.Add("Same As");
            myArray.Add("Not Same As");
            myArray.Add("One Of");
            myArray.Add("Not One Of");
            ArrayList myArray_TW = new ArrayList();
            myArray_TW.Add("包含");
            myArray_TW.Add("不包含");
            myArray_TW.Add("開始");
            myArray_TW.Add("結束");
            myArray_TW.Add("相同");
            myArray_TW.Add("不同");
            myArray_TW.Add("其中之一");
            myArray_TW.Add("非其中之一");
            for (int i = 0; i < myArray.Count; i++)
            {
                DataRow dr = dt.NewRow();
                dr[0] = myArray_TW[i].ToString();
                dr[1] = myArray[i].ToString();
                dt.Rows.Add(dr);
            }
            return dt;
        }

        public List<ListItem> StringSign4DDL()
        {
            List<ListItem> listItems = new List<ListItem>();
            if ((base.UserInfo == null) || (this.Session["UserInfo"] == null))
            {
                return listItems;
            }
            switch (base.UserInfo.Preference.Lang.ToUpper())
            {
                case "ZH-CN":
                    return this.GetStringOper_CN();

                case "EN-*":
                    return this.GetStringOper_EN();

                case "ZH-TW":
                    return this.GetStringOper_TW();
            }
            return this.GetStringOper_EN();
        }

        public DataTable StringSign4DDLByDT()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("Text", typeof(string));
            dt.Columns.Add("Value", typeof(string));
            if ((base.UserInfo == null) || (this.Session["UserInfo"] == null))
            {
                return dt;
            }
            switch (base.UserInfo.Preference.Lang.ToUpper())
            {
                case "ZH-CN":
                    return this.GetStringOper_CN(dt);

                case "EN-*":
                    return this.GetStringOper_EN(dt);

                case "ZH-TW":
                    return this.GetStringOper_TW(dt);
            }
            return this.GetStringOper_EN(dt);
        }

        public ArrayList WeightSign4DDL()
        {
            ArrayList myArray = new ArrayList();
            myArray.Add("LB");
            myArray.Add("KG");
            myArray.Add("KIP");
            myArray.Add("TON");
            myArray.Add("MTON");
            return myArray;
        }
    }
}

